package py.com.erpone.entity.dm;

import java.util.Date;

public class Cheque {
	public static final String TIPO_DIFERIDO = "D"; 
	public static final String TIPO_AL_DIA = "A";
	
	private Integer numeroCheque;
	private Integer numeroCuenta;
	private String tipo;
	private Date fechaCobro;
	private Date fechaEmision;
	private Banco banco;
	public Cheque() {
		super();
		
	}
	public Cheque(Integer numeroCheque, Integer numeroCuenta, String tipo,
			Date fechaCobro, Date fechaEmision, Banco banco) {
		super();
		this.numeroCheque = numeroCheque;
		this.numeroCuenta = numeroCuenta;
		this.tipo = tipo;
		this.fechaCobro = fechaCobro;
		this.fechaEmision = fechaEmision;
		this.banco = banco;
	}
	public Integer getNumeroCheque() {
		return numeroCheque;
	}
	public void setNumeroCheque(Integer numeroCheque) {
		this.numeroCheque = numeroCheque;
	}
	public Integer getNumeroCuenta() {
		return numeroCuenta;
	}
	public void setNumeroCuenta(Integer numeroCuenta) {
		this.numeroCuenta = numeroCuenta;
	}
	public String getTipo() {
		return tipo;
	}
	public void setTipo(String tipo) {
		this.tipo = tipo;
	}
	public Date getFechaCobro() {
		return fechaCobro;
	}
	public void setFechaCobro(Date fechaCobro) {
		this.fechaCobro = fechaCobro;
	}
	public Date getFechaEmision() {
		return fechaEmision;
	}
	public void setFechaEmision(Date fechaEmision) {
		this.fechaEmision = fechaEmision;
	}
	public Banco getBanco() {
		return banco;
	}
	public void setBanco(Banco banco) {
		this.banco = banco;
	}
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((banco == null) ? 0 : banco.hashCode());
		result = prime * result
				+ ((fechaCobro == null) ? 0 : fechaCobro.hashCode());
		result = prime * result
				+ ((fechaEmision == null) ? 0 : fechaEmision.hashCode());
		result = prime * result
				+ ((numeroCheque == null) ? 0 : numeroCheque.hashCode());
		result = prime * result
				+ ((numeroCuenta == null) ? 0 : numeroCuenta.hashCode());
		result = prime * result + ((tipo == null) ? 0 : tipo.hashCode());
		return result;
	}
	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Cheque other = (Cheque) obj;
		if (banco == null) {
			if (other.banco != null)
				return false;
		} else if (!banco.equals(other.banco))
			return false;
		if (fechaCobro == null) {
			if (other.fechaCobro != null)
				return false;
		} else if (!fechaCobro.equals(other.fechaCobro))
			return false;
		if (fechaEmision == null) {
			if (other.fechaEmision != null)
				return false;
		} else if (!fechaEmision.equals(other.fechaEmision))
			return false;
		if (numeroCheque == null) {
			if (other.numeroCheque != null)
				return false;
		} else if (!numeroCheque.equals(other.numeroCheque))
			return false;
		if (numeroCuenta == null) {
			if (other.numeroCuenta != null)
				return false;
		} else if (!numeroCuenta.equals(other.numeroCuenta))
			return false;
		if (tipo == null) {
			if (other.tipo != null)
				return false;
		} else if (!tipo.equals(other.tipo))
			return false;
		return true;
	}
	
	@Override
	public String toString() {
		return "Cheque [numeroCheque=" + numeroCheque + ", numeroCuenta="
				+ numeroCuenta + ", tipo=" + tipo + ", fechaCobro="
				+ fechaCobro + ", fechaEmision=" + fechaEmision + ", banco="
				+ banco + "]";
	}
	
	
	
	
	
}
